package com.sl.core.engine.log.store.domain.entity;

import jakarta.persistence.Column;
import jakarta.persistence.Id;
import jakarta.persistence.Lob;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;

/**
 * 监控日志记录信息
 */
@Getter
@Setter
@Table(name = "log_detail")
public class LogDetailDO {
    /**
     * 追踪ID
     */
    @Id
    private Long id;
    /**
     * 追踪ID
     */
    private String tid;

    /**
     * 一次执行唯一ID
     */
    private String instanceId;
    /**
     * 时间
     */
    private Date startTime;

    /**
     * 流程名称
     */
    private String processName;

    /**
     * 流程Id
     */
    private String processId;


    /**
     * 流程版本
     */
    private String processVersion;

    /**
     * 正文
     */
    @Lob
    @Column(length = 65_535)
    private String feature;

    /**
     * 执行状态 0.执行中 1.执行失败 2.执行完成
     */
    private Integer state;

    /**
     * 异常信息
     */
    @Lob
    @Column(length = 65_535)
    private String errors;

    /**
     * 耗时
     */
    private Long cost;

    /**
     * 时间
     */
    private Date endTime;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 是否主流程 1.是  0 否
     */
    private Integer mainProcessFlag;

}
